/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import gnu.io.SerialPort;

/**
 * @author wxhntmy
 */
public class SerialOpenAndClose {
    /**
     * 串口名称(COM0、COM1、COM2等等)
     */
    private String serialPortName;
    /**
     * 波特率
     * 默认：115200
     */
    private int baudRate;
    /**
     * 数据位 默认8位
     * 可以设置的值：SerialPort.DATABITS_5、SerialPort.DATABITS_6、SerialPort.DATABITS_7、SerialPort.DATABITS_8
     * 默认：SerialPort.DATABITS_8
     */
    private int dataBits;
    /**
     * 停止位
     * 可以设置的值：SerialPort.STOPBITS_1、SerialPort.STOPBITS_2、SerialPort.STOPBITS_1_5
     * 默认：SerialPort.STOPBITS_1
     */
    private int stopBits;
    /**
     * 校验位
     * 可以设置的值：SerialPort.PARITY_NONE、SerialPort.PARITY_ODD、SerialPort.PARITY_EVEN、SerialPort.PARITY_MARK、SerialPort.PARITY_SPACE
     * 默认：SerialPort.PARITY_NONE
     */
    private int parity;

    /**
     * 构造函数
     */
    public SerialOpenAndClose() {

    }

    /**
     * 带参数的构造函数
     * @param serialPortName 串口名称
     */
    public SerialOpenAndClose(String serialPortName) {
        this.serialPortName = serialPortName;
        this.baudRate = 115200;
        this.dataBits = SerialPort.DATABITS_8;
        this.stopBits = SerialPort.STOPBITS_1;
        this.parity = SerialPort.PARITY_NONE;
    }

    /**
     * 带参数的构造函数
     * @param serialPortName 串口名称
     * @param baudRate 串口波特率
     */
    public SerialOpenAndClose(String serialPortName, int baudRate) {
        this.serialPortName = serialPortName;
        this.baudRate = baudRate;
        this.dataBits = SerialPort.DATABITS_8;
        this.stopBits = SerialPort.STOPBITS_1;
        this.parity = SerialPort.PARITY_NONE;
    }

    /**
     * 获取串口名称
     * @return 串口名称
     */
    public String getSerialPortName() {
        return serialPortName;
    }

    /**
     * 设置串口名称
     * @param serialPortName 串口名称
     */
    public void setSerialPortName(String serialPortName) {
        this.serialPortName = serialPortName;
    }

    /**
     * 获取串口波特率
     * @return 串口波特率
     */
    public int getBaudRate() {
        return baudRate;
    }

    /**
     * 设置串口波特率
     * @param baudRate 串口波特率
     */
    public void setBaudRate(int baudRate) {
        this.baudRate = baudRate;
    }

    /**
     * 获取数据位
     * @return 数据位
     */
    public int getDataBits() {
        return dataBits;
    }

    /**
     * 设置数据位
     * @param dataBits 数据位
     */
    public void setDataBits(int dataBits) {
        this.dataBits = dataBits;
    }

    /**
     * 获取停止位
     * @return 停止位
     */
    public int getStopBits() {
        return stopBits;
    }

    /**
     * 设置停止位
     * @param stopBits 停止位
     */
    public void setStopBits(int stopBits) {
        this.stopBits = stopBits;
    }

    /**
     * 获取校验方式
     * @return 校验方式
     */
    public int getParity() {
        return parity;
    }

    /**
     * 设置校验方式
     * @param parity 校验方式
     */
    public void setParity(int parity) {
        this.parity = parity;
    }
}
